package Text5;

import java.util.*;

public class Main {
    //    如果 N = p1^c1 * p2^c2 * … *pk^ck
//    约数之和： (p1^0 + p1^1 + … + p1^c1) * … * (pk^0 + pk^1 + … + pk^ck)
//            while (b - - ) t = (t * a + 1) % mod;
    static int mod = (int) 1e9 + 7;

    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<>(); //创建一个哈希表
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        while (m-- > 0) {
            int n = in.nextInt();
            for (int i = 2; i <= n / i; i++) {
                if (n % i == 0) {
                    int s = 0;
                    while (n % i == 0) {
                        n /= i;
                        s++;
                    }
                    map.put(i, map.getOrDefault(i, 0) + s);
                }
            }
            if (n > 1) {
                map.put(n, map.getOrDefault(n, 0) + 1);
            }
        }
        long res = 1;
        for (int k : map.keySet()) {
            int v = map.get(k);
            long t = 1;
            while (v-- > 0) {
                t = (t * k + 1) % mod;
            }
            res = res * t % mod;
        }
        System.out.println(res);
    }
}